<?php
ob_start();
header('Content-type: text/html;charset=utf-8');
/*
	此文件主要功能如下：
		1.在数据库中添加新记录
		2.返回新加记录信息。JSON格式
		3.创建上传目录
	此文件主要在数据库中添加新的记录并返回文件信息
		如果存在则在数据库中添加一条相同记录。返回添加的信息
		如果不存在，则向数据库中添加一条记录。并返回此记录ID
	控件每次计算完文件MD5时都将向信息上传到此文件中
	@更新记录：
		2014-08-12 完成逻辑。
		2017-05-29 增加块路径生成逻辑
		2017-08-17 取消对redis的引用
*/
require '../../vendor/autoload.php';

use database\DBFile;
use utils\PathTool;
use model\FileInf;
use biz\PathGuidBuilder;
use biz\up7_biz_event;
use sql\SqlExec;
use utils\WebBase;
use filemgr\BizFolder;

$wb = new WebBase;
$nameLoc    = $wb->queryString("f_nameLoc");
$nameLoc    = PathTool::url_decode($nameLoc);
$pid        = $wb->queryString("f_pid");
$pathRel    = $wb->queryString("f_pathRel");
$pathRel    = PathTool::url_decode($pathRel);
$isRootDir  = $pathRel == "/";
$pathRel    = PathTool::combin($pathRel, $nameLoc);

if ( BizFolder::exist_same_folder($pathRel))
{
	$ret = array("ret"=>false,"msg"=>"已存在同名目录");
	die( json_encode($ret,JSON_UNESCAPED_SLASHES| JSON_UNESCAPED_UNICODE) );
	return;
}

$se = new SqlExec();
$guid = PathTool::guid();

//根目录
if ( $isRootDir )
{            
	$se->insert("up7_files", 
		array("f_id"=>$guid
			,"f_pid"=>""
			,"f_pidRoot"=>""
			,"f_pathRel"=>$pathRel
			,"f_nameLoc"=>$nameLoc
			,"f_complete"=>true
			,"f_fdTask"=>true
		)
	);
}//子目录
else
{            
	$se->insert("up7_folders", 
			array("f_id"=>$guid
			,"f_pid"=>$pid
			,"f_pidRoot"=>""
			,"f_pathRel"=>$pathRel
			,"f_nameLoc"=>$nameLoc
			,"f_complete"=>true
			)
		);
}

$obj = array("ret"=> true,"f_id"=>$guid,"f_pathRel"=>$pathRel);
echo( json_encode($obj,JSON_UNESCAPED_SLASHES| JSON_UNESCAPED_UNICODE) );
?>